<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="hmg.common.ValueHolder"%>
<%@ page import="hmg.common.CommonUtils"%>
<%-- 
    JSP Name : jspName.jsp
    Description : 설명을 기술합니다.
    author Kim hyung soo
    since 2012. 9. 17.
    version 1.0
    Modification Information
       since          author              description
    ===========    =============    ===========================
    2012. 9. 17.     Kim hyung soo     최초 생성
--%>
<%
    String searchKeyword = (String) request.getAttribute("SearchKeyword");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="ko" xml:lang="ko" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>통합검색 | 현대자동차그룹</title>
<meta name="description" content="현대자동차그룹 홈페이지 내 통합 검색하기" />
<meta name="keywords" content="현대자동차그룹 통합검색, 현대차그룹, 통합검색, 통합검색, 검색" />
<%@ include file="/WEB-INF/jsp/web/kor/include/header.jspf" %>
<script type="text/javascript" src="/hmg/js/web/kor/com/swfobject.js"></script>
<script type="text/javascript">
var searchKeyword = "<%= searchKeyword %>";
var totalSearches = 0;
var dicts = 0;
var news = 0;
var acts = 0;
var recs = 0;
var vods = 0;
var photos = 0;

$(document).ready(function(){
    
    $.ajax({
        type:"post",
        url:"./AjaxShortcutList.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_shortcut_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxTotalDictionaries.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_total_dictionary_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxDictionaryList.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_dictionary_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxTotalNews.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_total_news_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxNewsList.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_news_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxTotalActivities.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_total_activities_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxActivityList.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_activity_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxTotalRecruits.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_total_recruits_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxRecruitList.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_recruit_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxTotalVods.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_total_vods_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxVodList.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_vod_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxTotalPhotos.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_total_photos_proc(data); }
    });
    
    $.ajax({
        type:"post",
        url:"./AjaxPhotoList.do",
        data:({searchKeyword:searchKeyword}),
        success: function(data) { fn_photo_proc(data); }
    });
    
});

function fn_shortcut_proc(data) {
    $("#shortcut").html(data);
    $("#shortcut").show();
    resizeFrame();
}

function fn_total_dictionary_proc(data) {
    dicts += parseInt(data, 10);
    totalSearches += parseInt(data, 10);
    
    $("#totalDictionaries").html(data + '건');
    $("#totalSearches").html(totalSearches);
    $("#totalSearchesOnTab").html(totalSearches);
}

function fn_dictionary_proc(data) {
    $("#dictionary").html(data);
    resizeFrame();
}

function fn_total_news_proc(data) {
    news += parseInt(data, 10);
    totalSearches += parseInt(data, 10);
    
    $("#totalNews").html(data + '건');
    $("#totalNewsOnTab").html(data);
    $("#totalSearches").html(totalSearches);
    $("#totalSearchesOnTab").html(totalSearches);
}

function fn_news_proc(data) {
    $("#news").html(data);
    resizeFrame();
}

function fn_total_activities_proc(data) {
    acts += parseInt(data, 10);
    totalSearches += parseInt(data, 10);
    
    $("#totalActivities").html(data + '건');
    $("#totalActsOnTab").html(data);
    $("#totalSearches").html(totalSearches);
    $("#totalSearchesOnTab").html(totalSearches);
}

function fn_activity_proc(data) {
    $("#activity").html(data);
    resizeFrame();
}

function fn_total_recruits_proc(data) {
    recs += parseInt(data, 10);
    totalSearches += parseInt(data, 10);
    
    $("#totalRecruits").html(data + '건');
    $("#totalRecsOnTab").html(data);
    $("#totalSearches").html(totalSearches);
    $("#totalSearchesOnTab").html(totalSearches);
}

function fn_recruit_proc(data) {
    $("#recruit").html(data);
    resizeFrame();
}

function fn_total_vods_proc(data) {
    vods += parseInt(data, 10);
    totalSearches += parseInt(data, 10);
    
    $("#totalVods").html(data + '건');
    $("#totalVodsOnTab").html(data);
    $("#totalSearches").html(totalSearches);
    $("#totalSearchesOnTab").html(totalSearches);
}

function fn_vod_proc(data) {
    $("#vod").html(data);
    resizeFrame();
}

function fn_total_photos_proc(data) {
    photos += parseInt(data, 10);
    totalSearches += parseInt(data, 10);
    
    $("#totalPhotos").html(data + '건');
    $("#totalPhotosOnTab").html(data);
    $("#totalSearches").html(totalSearches);
    $("#totalSearchesOnTab").html(totalSearches);
}

function fn_photo_proc(data) {
    $("#photo").html(data);
    resizeFrame();
}

function fn_search() {
    var keyword = $("#searchKeyword").val();
    
    if (keyword == "") {
        alert("검색어를 입력해 주세요.");
        return;
    }
    else if (keyword.length < 2) {
        alert("검색어를 2자 이상 입력해 주세요.");
        return;
    }

    document.location.href = "./UnifiedSearch.do?searchKeyword=" + escape(encodeURIComponent(keyword));
}

function fn_search_result(listType) {
    var keyword = escape(encodeURIComponent($("#searchKeyword").val()));
    
    switch (listType) {
        case 0 : document.location.href = "/hmg/web/kor/sch/trm/TermDictionaryList.do?searchKeyword=" + keyword; break;
        case 1 : document.location.href = "/hmg/web/kor/sch/nfd/UnifiedSearch.do?searchKeyword=" + keyword; break;
        case 2 : document.location.href = "/hmg/web/kor/sch/nfd/UnifiedSearchNews.do?searchKeyword=" + keyword + "&totalSearches=" + totalSearches + "&dicts=" + dicts + "&news=" + news + "&acts=" + acts + "&recs=" + recs + "&vods=" + vods + "&photos=" + photos + "&page=1"; break;
        case 3 : document.location.href = "/hmg/web/kor/sch/nfd/UnifiedSearchAct.do?searchKeyword=" + keyword + "&totalSearches=" + totalSearches + "&dicts=" + dicts + "&news=" + news + "&acts=" + acts + "&recs=" + recs + "&vods=" + vods + "&photos=" + photos + "&page=1"; break;
        case 4 : document.location.href = "/hmg/web/kor/sch/nfd/UnifiedSearchRecruit.do?searchKeyword=" + keyword + "&totalSearches=" + totalSearches + "&dicts=" + dicts + "&news=" + news + "&acts=" + acts + "&recs=" + recs + "&vods=" + vods + "&photos=" + photos + "&page=1"; break;
        case 5 : document.location.href = "/hmg/web/kor/sch/nfd/UnifiedSearchVod.do?searchKeyword=" + keyword + "&totalSearches=" + totalSearches + "&dicts=" + dicts + "&news=" + news + "&acts=" + acts + "&recs=" + recs + "&vods=" + vods + "&photos=" + photos + "&page=1"; break;
        case 6 : document.location.href = "/hmg/web/kor/sch/nfd/UnifiedSearchPhoto.do?searchKeyword=" + keyword + "&totalSearches=" + totalSearches + "&dicts=" + dicts + "&news=" + news + "&acts=" + acts + "&recs=" + recs + "&vods=" + vods + "&photos=" + photos + "&page=1"; break;
    }
}

//동영상갤러리
$(function() {
    usrAgnt = navigator.userAgent;

    if(usrAgnt.indexOf("Mobile") < 0){
        
        // non flash
        $(function(){
            var playerVersion = swfobject.getFlashPlayerVersion();
            if (playerVersion.major == 0) {
                $("#topNavi").remove();
                $(".alterText").show();
            }
        });
    }else {
        $("#topNavi").remove();
        $("#tablet-broadcastView").show();
        $(".alterText").remove();
    }
});

function closePlayer() {
    getMovieName("topNavi").closePlayer();
}

function playerSoundOff() {
    getMovieName("topNavi").videoStop();
}

function fn_play_movie(listID) {
    $("#movieLayer").html("");
    
    $.ajax({
        type:"post",
        url:"./AjaxPlayMovie.do",
        data:({listID:listID}),
        success: function(data) { fn_play_movie_proc(data); }
    });
}

function fn_play_movie_proc(data) {
    $("#movieLayer").html(data);

    fe_layPop_vod();
    
    $("#noticeWrap").css({"z-index":"-1"});
    $("#footer").css({"z-index":"-2"});

    var maskHeight = $(document).height();
    var maskWidth = $(window).width();
    var layerHeight = $(".vod_layPop > div").height();
    var layerWidth = $(".vod_layPop > div").width();
    $(".vod_layer").css({"width":maskWidth,"height":maskHeight, "display": "block"});
    $(".vod_layPop").css({"margin-top": "-" + layerHeight/2 + "px", "margin-left" : "-" + layerWidth/2 + "px"});
}

function fn_view_photo(listID) {
    $("#photoLayer").html("");
      
    $.ajax({
        type:"post",
        url:"./AjaxPhotoView.do",
        data:({listID:listID}),
        success: function(data) { fn_view_photo_proc(data); }
    });
}

function fn_view_photo_proc(data) {
    $("#photoLayer").html(data);
  
    fe_layPop();
  
    $("#noticeWrap").css({"z-index":"-1"});
    $("#footer").css({"z-index":"-2"});

    var maskHeight = $(document).height();
    var maskWidth = $(window).width();
    var layerHeight = $(".photo_layPop > div").height();
    var layerWidth = $(".photo_layPop > div").width();
    $(".photo_layer").css({"width":maskWidth,"height":maskHeight, "display": "block"});
    $(".photo_layPop").css({"margin-top": "-" + layerHeight/2 + "px", "margin-left" : "-" + layerWidth/2 + "px"});
}

function getMovieName(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1)
        return window[movieName];
    else
        return document[movieName];
}

//이미지갤러리
$(function() {
    var totalPanels = $(".photo_scrollContainer").children().size();
    var movingDistance  = 600;
    var $panels = $('#photo_gallery_slider .photo_scrollContainer > div');
    var $container = $('#photo_gallery_slider .photo_scrollContainer');
    var curPanel = 0;
    var scroll = $('#photo_gallery_slider .photo_gallery_scroll').css('overflow', 'hidden');
    $panels.css({'float' : 'left','position' : 'relative'});
    $container.css({'width': (600* $panels.size()) +'px', 'left':'0px'});
    $("#photo_gallery_slider").data("currentlyMoving", false);

    function change(direction, moveIndex) {
        if((direction && !(curPanel < totalPanels - 1)) || (!direction && (curPanel <= 0))) { return false; }
        if (($("#photo_gallery_slider").data("currentlyMoving") == false)) {
            $("#photo_gallery_slider").data("currentlyMoving", true);
            var next = direction ? curPanel + moveIndex : curPanel - moveIndex;
            var leftValue = $(".photo_scrollContainer").css("left");
            var movement = direction ? parseFloat(leftValue, 10) - (movingDistance * moveIndex) : parseFloat(leftValue, 10) + (movingDistance * moveIndex);
            var curThumb = $("#galley_thumbImg li.on");
            var removeClassEl = direction ? $(curThumb).next() : $(curThumb).prev();
            $(".photo_scrollContainer").stop().animate({"left": movement}, 300, function() {
                $("#photo_gallery_slider").data("currentlyMoving", false);
            });
            $(removeClassEl).addClass("on");
            $(curThumb).removeClass("on");
            curPanel = next;
        }
    }

    $("#galley_thumbImg li").live("click", function(){
        if(!($(".photo_scrollContainer").is(":animated"))){
            var curElSize = $("#galley_thumbImg li.on").index();
            var clickElSize = $(this).index();
            if(curElSize !== clickElSize){
                if(curElSize > clickElSize){
                    change(false, (curElSize-clickElSize));
                }
                else if(curElSize < clickElSize){
                    change(true, (clickElSize-curElSize));
                }
                curPanel = clickElSize;
                $("#galley_thumbImg li").removeClass("on");
                $(this).addClass("on");
            }
        }
    });

    $(".photo_gallery_panel img").live("click", function(){
        $(".photo_gallery_Information").toggle();
    });
});

$(document).ready(function() {
    init_tabs();
});

function init_tabs() {
    if (!$('ul.tabs').length) {
        return;
    }
    $('div.tab_wrap').each(function() {
        $(this).find('div.tab_content:first').show().siblings('div.tab_content').hide();
    });
    $('ul.tabs a').click(function() {
        if (!$(this).hasClass('on')) {
            $(this).addClass('on').parent('li').siblings('li').find('a.on').removeClass('on');
            $($(this).attr('href')).show().siblings('div.tab_content').hide();
        }
        this.blur();
        return false;
        Cli-Li();
        Cli-Li();
    });
}

</script>
</head>
<body>
    <!--wrap-->
    <div id="wrap">
        <!-- skip navigation -->
        <div id="skipnavition">
            <a href="#gnb">메뉴바로가기</a><a href="#content">본문바로가기</a>
        </div>
        <!--// skip navigation -->

        <hr />

        <!-- header-->
        <%@ include file="/WEB-INF/jsp/web/kor/include/left.jspf" %>
        <!--//header-->

        <hr />

        <!--container-->
        <div id="container">
            <div class="scroll-pane">
            <!-- 공통 -->
            <div class="subTitle">
                <div class="pageTitle">
                    <h2><img src="/hmg/images/web/kor/title/sch_Totalsearch.gif" alt="통합검색" /></h2>
                </div> 

                <div class="pageLocation">
                    <ul>
                        <li><a href="/hmg/web/kor/Main.do"><img src="/hmg/images/web/kor/common/location_home.gif" alt="홈"/></a></li>
                        <li class="nowPage"><a href="/hmg/web/kor/sch/nfd/UnifiedSearch.do">통합검색</a></li>
                    </ul>
                </div>
            </div>
            <!--//공통-->

            <!--contents-->
            <div id="content">

            <!-- 내용 -->
            <div class="total_search">
                <div class="total_searchBox">
                    <img src="/hmg/images/web/kor/sch/total_Search_Text01.gif" alt="상세검색" class="search_text"/>
                    <label class="hidden" for="searchKeyword">검색</label>
                    <input type="text" title="검색" id="searchKeyword" name="searchKeyword" value="<%= searchKeyword %>" maxlength="50" onkeypress="javascript:if (event.keyCode==13) {fn_search();}" />
                    <a href="javascript:fn_search();"><img src="/hmg/images/web/kor/btn/btn_search.gif" alt="검색"  class="btn"/></a>
                </div>

<%  if (searchKeyword != "") { %>
                <p class="total_search_result">&quot;<span><%= searchKeyword %></span>&quot; 에 대한 검색결과가 총 <span id="totalSearches">0</span>건이 있습니다.</p>
<%  } %>
                
                <div class="total_searchTab">
                    <ul class="tabs">
                        <li class="tab1"><a href="#" onclick="javascript:fn_search_result(1);" class="on">통합검색 (<span class="count" id="totalSearchesOnTab">0</span>)</a></li>
                        <li class="tab2"><a href="#" onclick="javascript:fn_search_result(2);">그룹소식 (<span class="count" id="totalNewsOnTab">0</span>)</a></li>
                        <li class="tab3"><a href="#" onclick="javascript:fn_search_result(3);">사회공헌 (<span class="count" id="totalActsOnTab">0</span>)</a></li>
                        <li class="tab4"><a href="#" onclick="javascript:fn_search_result(4);">인재채용 (<span class="count" id="totalRecsOnTab">0</span>)</a></li>
                        <li class="tab5"><a href="#" onclick="javascript:fn_search_result(5);">영상 (<span class="count" id="totalVodsOnTab">0</span>)</a></li>
                        <li class="tab6"><a href="#" onclick="javascript:fn_search_result(6);">이미지 (<span class="count" id="totalPhotosOnTab">0</span>)</a></li>
                    </ul>
                </div>

                <div class="tab_wrap">
                    <!-- tabCont1  S// -->
                    <div id="tab_content01" class="tab_content">
                        <div class="direct" id="shortcut" name="shortcut" style="display:none;"></div><br />

                        <div class="titleWrap">
                            <div class="left"><h3>용어사전 (<span class="list_count" id="totalDictionaries">0건</span>)</h3></div>
                            <div class="right"><a href="javascript:fn_search_result(0);"><img src="/hmg/images/web/kor/btn/btn_searchResult.gif" alt="검색결과" /></a></div>
                        </div>

                        <div class="dictionary" id="dictionary" name="dictionary">
                            <dl class="last" style="text-align:center;"><img src="/hmg/images/web/kor/common/loading.gif" width="47" height="46" border="0"></dl>
                        </div>

                        <div class="titleWrap">
                            <div class="left"><h3>그룹소식 (<span class="list_count" id="totalNews">0건</span>)</h3></div>
                            <div class="right"><a href="javascript:fn_search_result(2);"><img src="/hmg/images/web/kor/btn/btn_searchResult.gif" alt="검색결과" /></a></div>
                        </div>

                        <div class="groupnews_Thumb_List" id="news" name="news">
                            <dl class="last" style="text-align:center;"><img src="/hmg/images/web/kor/common/loading.gif" width="47" height="46" border="0"></dl>
                        </div>

                        <div class="titleWrap">
                            <div class="left"><h3>사회공헌 (<span class="list_count" id="totalActivities">0건</span>)</h3></div>
                            <div class="right"><a href="javascript:fn_search_result(3);"><img src="/hmg/images/web/kor/btn/btn_searchResult.gif" alt="검색결과" /></a></div>
                        </div>

                        <div class="groupnews_Thumb_List" id="activity" name="activity">
                            <dl class="last" style="text-align:center;"><img src="/hmg/images/web/kor/common/loading.gif" width="47" height="46" border="0"></dl>
                        </div>

                        <div class="titleWrap">
                            <div class="left"><h3>인재채용 (<span class="list_count" id="totalRecruits">0건</span>)</h3></div>
                            <div class="right"><a href="javascript:fn_search_result(4);"><img src="/hmg/images/web/kor/btn/btn_searchResult.gif" alt="검색결과" /></a></div>
                        </div>

                        <div class="recruit_list" id="recruit" name="recruit">
                            <dl class="last" style="text-align:center;"><img src="/hmg/images/web/kor/common/loading.gif" width="47" height="46" border="0"></dl>
                        </div>

                        <div class="titleWrap">
                            <div class="left"><h3>동영상 (<span class="list_count" id="totalVods">0건</span>)</h3></div>
                            <div class="right"><a href="javascript:fn_search_result(5);"><img src="/hmg/images/web/kor/btn/btn_searchResult.gif" alt="검색결과" /></a></div>
                        </div>

                        <div class="search_result_gallery" id="vod" name="vod">
                            <div style="text-align:center;width:100%;"><img src="/hmg/images/web/kor/common/loading.gif" width="47" height="46" border="0"></div>
                        </div>

                        <div class="titleWrap">
                            <div class="left"><h3>이미지 (<span class="list_count" id="totalPhotos">0건</span>)</h3></div>
                            <div class="right"><a href="javascript:fn_search_result(6);"><img src="/hmg/images/web/kor/btn/btn_searchResult.gif" alt="검색결과" /></a></div>
                        </div>

                        <div class="search_result_gallery" id="photo" name="photo">
                            <div style="text-align:center;width:100%;"><img src="/hmg/images/web/kor/common/loading.gif" width="47" height="46" border="0"></div>
                        </div>
                    </div>
                    <!-- tabCont1  E// -->
                </div>  
            </div>
            <!--// 내용 -->

            <!-- 이미지layer -->
            <div id="photoLayer" class="photo_layer">
                <div class="photo_mask"></div>
                <div class="photo_layPop">
                    <p class="btnClose"><a href="#"><img src="/hmg/images/web/kor/mgr/gallery_Slide_Close.png" alt="닫기"/></a></p>
                    <div class="galleryView">
                        <span class="galleryLeft"><a href=""><img class="png24"src="/hmg/images/web/kor/grn/btn_galleryView_Left.png" alt="이전이미지"/></a></span>
                        <div id="photo_gallery_wrapper">
                            <div id="photo_gallery_slider">
                                <div style="overflow: hidden;" class="photo_gallery_scroll">
                                    <div class="photo_scrollContainer">
                                        <div class="photo_gallery_panel">
                                        </div>
                                        <div class="photo_gallery_panel">
                                        </div>
                                        <div class="photo_gallery_panel">
                                        </div>
                                        <div class="photo_gallery_panel">
                                        </div>
                                        <div class="photo_gallery_panel">
                                        </div>
                                        <div class="photo_gallery_panel">
                                        </div>
                                        <div class="photo_gallery_panel">
                                        </div>
                                        <div class="photo_gallery_panel">
                                        </div>
                                        <div class="photo_gallery_panel">
                                        </div>
                                        <div class="photo_gallery_panel">
                                        </div>
                                    </div>
                                    <div class="photo_gallery_Information">
                                        <p class="categoty"></p>
                                        <p class="title"></p>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <span class="galleryRight"><a href=""><img class="png24"src="/hmg/images/web/kor/grn/btn_galleryView_Right.png" alt="다음이미지"/></a></span>
                        <div id="galley_thumbImg">
                            <ul></ul>
                        </div>
                    </div>
                </div>
            </div>
            <!-- /이미지layer -->

            <!-- 동영상layer -->
            <div class="vod_layer" id="movieLayer"></div>
            <!-- //동영상layer -->
            </div>
            <!--//contents-->
        </div>
        </div>
        <!--//container-->

        <hr />

        <!--footer-->
        <%@ include file="/WEB-INF/jsp/web/kor/include/footer.jspf" %>
        <!--//footer-->
        <hr />
        <!--notice-->
        <%@ include file="/WEB-INF/jsp/web/kor/include/notice.jspf" %>
        <!--//notice-->
    </div>
    <!--//wrap-->
</body>
</html>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 